<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // pending : 初始状态-等待状态-等待promise的状态切换。
        // fulfilled|resolved : 对应的promise的构建执行函数，第一个回调方法
        //     只有当promise执行函数调用了resolve函数，才会将状态切换为 fulfilled|resolved
        //     将后续的回调方法执行指向于then的第一个回调函数
        // rejected : 对应的promise的构建执行函数，第二个回调方法
        //     只有当promise执行函数调用了reject函数，才会将状态切换为rejected
        //     将后续的回调方法执行指向于then的第二个回调函数

        let p=new Promise(function(resolve,reject){
            reject();
            // resolve();
        });

        // then中没有return自己创建的promise对象，p2的状态取决于js代码运行是否正常
        let p2=p.then(function(){
            console.log(11);
        },function(){
            aaa
            console.log(22);
        });

        //then中有return自己创建的promise对象，p3的状态取决于promise调用的哪个函数
       let p3=p2.then(function(){
            console.log("************");
            return new Promise(function(resolve,reject){
                reject();
            });
       },function(){
            console.log("-------------");
            return new Promise(function(resolve,reject){
                resolve();
            });
       });
       console.log(p3);
    </script>
</head>
<body>
    
</body>
</html>